using System;
using System.Collections.Generic;
using System.Text;

using Sinacor.Servico.Bovespa.Ordens.BusinessEntity.Enum;
using Sinacor.Servico.Bovespa.Cliente.BusinessEntity;
using Sinacor.Infra.Service.Common;

namespace Sinacor.Servico.Bovespa.Ordens.BusinessEntity
{
    public class OrdemMegaBolsa : BaseBusinessEntity
    {
        public static class ConsultarOrdemMegaBolsa 
        {
            public const int Situacao               = 00; //sql.Append(" TORMOVD.IN_SITUAC,");      //00 :Frmordmega.tblTorordmega.colInsituac,
            public const int NomeOperador           = 01; //sql.Append(" TGEUSUARIO.CD_LOGIN,");    //01 :Frmordmega.tblTorordmega.colOperador,
            public const int CodigoOperador         = 02; //sql.Append(" TORMOVD.CD_CODUSU,");      //02 :Frmordmega.tblTorordmega.colUsuario,
            public const int Bolsa                  = 03; //sql.Append(" TORMOVD.CD_BOLSA,");       //03 :Frmordmega.tblTorordmega.colCdbolsa,
            public const int DataOrdem              = 04; //sql.Append(" TORMOVD.DT_DATORD,");      //04 :Frmordmega.tblTorordmega.colDatord,
            public const int NumeroOrdem            = 05; //sql.Append(" TORMOVD.NR_SEQORD,");      //05 :Frmordmega.tblTorordmega.colSeqord,
            public const int NumeroOrdemSequencia   = 06; //sql.Append(" TORMOVD.NR_SUBSEQ,");      //06 :Frmordmega.tblTorordmega.colSubseq,
            public const int HoraOrdem              = 07; //sql.Append(" TORMOVD.DT_HORORD,");      //07 :Frmordmega.tblTorordmega.colHorord,
            public const int TipoOrdem              = 08; //sql.Append(" TORMOVD.TP_ORDEM,");       //08 :Frmordmega.tblTorordmega.colTipord,
            public const int Mercado                = 09; //sql.Append(" TORMOVD.CD_MERCAD,");      //09 :Frmordmega.tblTorordmega.colMercado,
            public const int Quantidade             = 10; //sql.Append(" TORMOVD.QT_ORDEM,");       //10 :Frmordmega.tblTorordmega.colQtdord,
            public const int Titulo                 = 11; //sql.Append(" TORMOVD.CD_NEGOCIO,");     //11 :Frmordmega.tblTorordmega.colNegsp,
            public const int CodigoCliente          = 12; //sql.Append(" TORMOVD.CD_CLIENTE,");     //12 :Frmordmega.tblTorordmega.colCliente,
            public const int DigitoVerificadorCodigoCliente = 13; //sql.Append(" TORMOVD.DV_CLIENTE,");     //13 :Frmordmega.tblTorordmega.colDvCliente,
            public const int CodigoBroker           = 14; //sql.Append(" TORMOVD.CD_LIQFIN,");      //14 :Frmordmega.tblTorordmega.colLiqfin,
            public const int PessoaVinculada        = 15; //sql.Append(" TORMOVD.IN_PESVIN,");      //15 :Frmordmega.tblTorordmega.colPesvin,
            public const int NaturezaOperacao       = 16; //sql.Append(" TORMOVD.CD_NATOPE,");      //16 :Frmordmega.tblTorordmega.colNatope,
            public const int Preco                  = 17; //sql.Append(" TORMOVD.VL_PREPAP,");      //17 :Frmordmega.tblTorordmega.colPrepap,
            public const int TipoFax                = 18; //sql.Append(" TORMOVD.TP_DOCFAX,");      //18 :Frmordmega.tblTorordmega.colModfax,
            public const int PercentualReducaoAcrescimo = 19; //sql.Append(" TORMOVD.PC_REDACR,");      //19 :Frmordmega.tblTorordmega.colRedacr,
            public const int QuantidadeCasada       = 20; //sql.Append(" TORMOVD.QT_ORDEXEC,");     //20 :Frmordmega.tblTorordmega.colQtdfec,
            public const int Carteira               = 21; //sql.Append(" TORMOVD.CD_CARLIQ,");      //21 :Frmordmega.tblTorordmega.colCarliq,
            public const int TipoLiquidacao         = 22; //sql.Append(" TORMOVD.IN_LIQUIDA,");     //22 :Frmordmega.tblTorordmega.colInliquida,
            public const int DataValidadeOrdem      = 23; //sql.Append(" TORMOVD.DT_VALORD,");      //23 :Frmordmega.tblTorordmega.colPerval,
            public const int IndicadorOrdemDistribuida = 24; //sql.Append(" TORMOVD.IN_DISTRIB,");     //24 :Frmordmega.tblTorordmega.colIndistrib,
            public const int IndicaChamadaLog       = 25; //sql.Append(" TORMOVD.IN_TRIGGER,");     //25 :Frmordmega.tblTorordmega.colIntrigger,
            public const int TaxaFinanciamento      = 26; //sql.Append(" TORMOVD.PC_FINANC,");      //26 :Frmordmega.tblTorordmega.colPcFinanc,
            public const int ValorFinanciado        = 27; //sql.Append(" TORMOVD.VL_FINANC,");      //27 :Frmordmega.tblTorordmega.colVlFinanc,
            public const int IndicadorDesprezaSaldo = 28; //sql.Append(" TORMOVD.IN_DESSALDO,");    //28 :Frmordmega.tblTorordmega.colDesSaldo,
            public const int NomeEmissorOrdem       = 29; //sql.Append(" TORMOVD.NM_EMIT_ORDEM,");  //29 :Frmordmega.tblTorordmega.colNmEmitOrdem,
            public const int AnexoV                 = 30; //sql.Append(" TORMOVD.QT_ANEXO5,");      //30 :Frmordmega.tblTorordmega.colQtdAnV,
            public const int AnexoIV                = 31; //sql.Append(" TORMOVD.QT_ANEXO4,");      //31 :Frmordmega.tblTorordmega.colQtdAnIV,
            public const int ValorMoeda             = 32; //sql.Append(" TORMOVD.VL_DOLAR,");       //32 :Frmordmega.tblTorordmega.colVlDolar,
            public const int IndicadorOrdemFilaCasamento  = 33; //sql.Append(" TORMOVD.IN_CASAORD,");     //33 :Frmordmega.tblTorordmega.colCasaord,
            public const int TORDETD_QT_ORDEM       = 34; //sql.Append(" NVL(TORDETD.QT_ORDEM,0) QT_ORDEM,");   //34 :Frmordmega.tblTorordmega.colQtdPre,
            public const int tblTorordmega_colBroker = 35; //sql.Append(" null,");                   //35 :Frmordmega.tblTorordmega.colBroker,
            public const int CD_CLIENTE             = 36; //sql.Append(" TORMOVD.CD_CLIENTE,");     //36 :Frmordmega.tblTorordmega.colClienteA,
            public const int CodigoCasamento = 37; //sql.Append(" TORMOVD.CD_CODCAS,");      //37 :Frmordmega.tblTorordmega.colCdcodcas,
            public const int NumeroOrdemOriginalADMINCON = 38; //sql.Append(" TORMOVD.NR_SEQORD_ORI,");  //38 :Frmordmega.tblTorordmega.colSeqordOri,
            public const int IndicadorOrdemAbertaADMINCON = 39; //sql.Append(" TORMOVD.IN_ADMIN_CON");    //39 :Frmordmega.tblTorordmega.colInAdminCon
        }

        private System.Int32? _operador;

        public System.Int32? Operador
        {
            get { return _operador; }
            set { _operador = value; }
        }

        private System.DateTime? _dataOrdem;

        public System.DateTime? DataOrdem
        {
            get { return _dataOrdem; }
            set { _dataOrdem = value; }
        }

        private System.DateTime _horaOrdem;

        public System.DateTime HoraOrdem
        {
            get { return _horaOrdem; }
            set { _horaOrdem = value; }
        }

        private System.Int32? _numeroOrdem;

        public System.Int32? NumeroOrdem
        {
            get { return _numeroOrdem; }
            set { _numeroOrdem = value; }
        }

        private System.Int32? _numeroOrdemSubSequencia;

        public System.Int32? NumeroOrdemSubSequencia
        {
            get { return _numeroOrdemSubSequencia; }
            set { _numeroOrdemSubSequencia = value; }
        }

        private System.String _situacao;

        public System.String Situacao
        {
            get { return _situacao; }
            set { _situacao = value; }
        }

        private System.Int32 _original;

        public System.Int32 NumeroOrdemOriginal
        {
            get { return _original; }
            set { _original = value; }
        }

        //excluido - eduardo sertorio - 20071130
        //private System.Int32 _seq;
        //public System.Int32 Seq
        //{
        //    get { return _seq; }
        //    set { _seq = value; }
        //}

        //alterado de nao-nulo para nulo - eduardo sertorio - 20071214
        //alterado de string para enum - eduardo sertorio - 20071211
        //private System.String _mercado;
        private Sinacor.Servico.Bovespa.Ordens.BusinessEntity.Enum.TipoMercado? _mercado;
        //public System.String Mercado
        public Sinacor.Servico.Bovespa.Ordens.BusinessEntity.Enum.TipoMercado? TipoMercado
        {
            get { return _mercado; }
            set { _mercado = value; }
        }

        private System.Int32? _tipoOrdem;

        public System.Int32? TipoOrdem
        {
            get { return _tipoOrdem; }
            set { _tipoOrdem = value; }
        }

        //alterado de PercentualCorretagem para PercentualReducaoAcrescimo por Eduardo Sertorio em 02/01/2008
        private System.Decimal? _percentualReducaoAcrescimo;

        public System.Decimal? PercentualReducaoAcrescimo
        {
            get { return _percentualReducaoAcrescimo; }
            set { _percentualReducaoAcrescimo = value; }
        }

        private System.Int32? _tipoFax;

        public System.Int32? TipoFax
        {
            get { return _tipoFax; }
            set { _tipoFax = value; }
        }

        private System.String _pessoaVinculada;

        public System.String PessoaVinculada
        {
            get { return _pessoaVinculada; }
            set { _pessoaVinculada = value; }
        }

        private System.Int32 _contaMae;

        public System.Int32 ContaMae
        {
            get { return _contaMae; }
            set { _contaMae = value; }
        }

        private System.Int32? _carteira;

        public System.Int32? Carteira
        {
            get { return _carteira; }
            set { _carteira = value; }
        }

        private Sinacor.Servico.Bovespa.Ordens.BusinessEntity.Enum.TipoLiquidacao _tipoLiquidacao;

        public Sinacor.Servico.Bovespa.Ordens.BusinessEntity.Enum.TipoLiquidacao TipoLiquidacao
        {
            get { return _tipoLiquidacao; }
            set { _tipoLiquidacao = value; }
        }

        private System.Decimal _anexoIV;

        public System.Decimal AnexoIV
        {
            get { return _anexoIV; }
            set { _anexoIV = value; }
        }

        private System.Decimal _anexoV;

        public System.Decimal AnexoV
        {
            get { return _anexoV; }
            set { _anexoV = value; }
        }

        private System.Decimal _preco;

        public System.Decimal Preco
        {
            get { return _preco; }
            set { _preco = value; }
        }

        private System.DateTime _dataValidade;

        public System.DateTime DataValidade
        {
            get { return _dataValidade; }
            set { _dataValidade = value; }
        }

        private TipoNaturezaOperacao? _naturezaOperacao;

        public TipoNaturezaOperacao? NaturezaOperacao
        {
            get { return _naturezaOperacao; }
            set { _naturezaOperacao = value; }
        }

        private System.String _titulo;

        public System.String Titulo
        {
            get { return _titulo; }
            set { _titulo = value; }
        }

        ///comentado - Eduardo Sertorio - 20071129
        //private System.Int32 _codigoCliente;

        ///comentado - Eduardo Sertorio - 20071129
        //public System.Int32 CodigoCliente
        //{
        //    get { return _codigoCliente; }
        //    set { _codigoCliente = value; }
        //}

        ///comentado - Eduardo Sertorio - 20071129
        //private System.String _apelidoCliente;

        ///comentado - Eduardo Sertorio - 20071129
        //public System.String ApelidoCliente
        //{
        //    get { return _apelidoCliente; }
        //    set { _apelidoCliente = value; }
        //}

        private System.Decimal _quantidade;

        public System.Decimal Quantidade
        {
            get { return _quantidade; }
            set { _quantidade = value; }
        }

        private System.Decimal _saldo;

        public System.Decimal Saldo
        {
            get { return _saldo; }
            set { _saldo = value; }
        }

        /// <summary>
        /// Historico:
        /// Data: 29/11/2007
        /// Autor: Ludmilla Modesto
        /// Obs: Modificado de Int para String
        /// </summary>
        private System.String _bolsa;

        public System.String Bolsa
        {
            get { return _bolsa; }
            set { _bolsa = value; }
        }

        private System.Decimal _quantidadeCasada;

        public System.Decimal QuantidadeCasada
        {
            get { return _quantidadeCasada; }
            set { _quantidadeCasada = value; }
        }

        private System.Decimal _limitePreco;

        public System.Decimal LimitePreco
        {
            get { return _limitePreco; }
            set { _limitePreco = value; }
        }

        private System.Decimal _valorOrdem;

        public System.Decimal ValorOrdem
        {
            get { return _valorOrdem; }
            set { _valorOrdem = value; }
        }

        ///incluido - Eduardo Sertorio - 20071129
        private Sinacor.Servico.Bovespa.Cliente.BusinessEntity.Cliente _cliente;

        ///incluido - Eduardo Sertorio - 20071129
        public Sinacor.Servico.Bovespa.Cliente.BusinessEntity.Cliente Cliente
        {
            get { return _cliente; }
            set { _cliente = value; }
        }

        ///incluido - Eduardo Sertorio - 20071129
        private TipoSituacaoCasamento _tipoSituacaoCasamentoOrdem;

        ///incluido - Eduardo Sertorio - 20071129
        public TipoSituacaoCasamento TipoSituacaoCasamentoOrdem
        {
            get { return _tipoSituacaoCasamentoOrdem; }
            set { _tipoSituacaoCasamentoOrdem = value; }
        }

        ///incluido - Eduardo Sertorio - 20071203
        private System.String _nomeoperador;

        ///incluido - Eduardo Sertorio - 20071203
        public System.String NomeOperador
        {
            get { return _nomeoperador; }
            set { _nomeoperador = value; }
        }

        ///incluido - Eduardo Sertorio - 20071207
        private System.Boolean _indicadorOrdemFilaCasamento;
        public System.Boolean IndicadorOrdemFilaCasamento
        {
            get { return _indicadorOrdemFilaCasamento; }
            set { _indicadorOrdemFilaCasamento = value; }
        }

        ///incluido - Eduardo Sertorio - 20071226
        private System.Boolean _isValidacaoOk;
        public System.Boolean IsValidacaoOk
        {
            get { return _isValidacaoOk; }
            set { _isValidacaoOk = value; }
        }

        ///incluido - Eduardo Sertorio - 20071226
        private System.Boolean _isAlteracaoOk;
        public System.Boolean IsAlteracaoOk
        {
            get { return _isAlteracaoOk; }
            set { _isAlteracaoOk = value; }
        }

        ///incluido - Eduardo Sertorio - 20071226
        private Sinacor.Servico.Bovespa.Ordens.BusinessEntity.MensagemValidacao _mensagemValidacaoSaldo;
        public Sinacor.Servico.Bovespa.Ordens.BusinessEntity.MensagemValidacao MensagemValidacaoSaldo
        {
            get { return _mensagemValidacaoSaldo; }
            set { _mensagemValidacaoSaldo = value; }
        }

    }
}
